package com.hnust.dao;

import com.hnust.domain.CourseGroup;
import com.hnust.domain.TeaCourseGroup;
import com.hnust.domain.Teacher;
import com.hnust.domain.record.CourseData;
import com.hnust.domain.record.GroupInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import com.hnust.domain.Course;
import java.util.List;

import java.util.List;



@Mapper
@Repository
public interface CourseGroupDao {
    //获取课程组名         @author 焦硕洁
    @Select("select name from course_group where cou_gro_id = #{courseGroupId}")
    String getCourseGroupName(String courseGroupId);

    /**
     * 课程组表的DAO层
     * @author 42
     * @date 2020/10/30
     */
    @Select("select cou_id from course_group where cou_gro_id = #{cou_gro_id}")
    @ResultType(String.class)
    String getCourseId(String cou_gro_id);

    //获取学院所有的课程组       @author 焦硕洁
    @Select("select cou_gro_id,name from course_group where col_id = #{collegeId}")
    @ResultType(CourseGroup.class)
    List<CourseGroup> getCourseGroup(String collegeId);

    /*根据课程组id获取到courseId*/
    @Select("select cou_id from course_group where cou_gro_id=#{courseGroupId}")
    @ResultType(String.class)
    public String getCourseIdByCourseGroupId(String courseGroupId);

    /**
     * 根据老师ID，或取老师加入的课程组所对应的课程信息
     * @Author 彭鑫淼
     */
    @Select("SELECT A.cou_id id,A.`name` FROM course A,tea_course_group B ,course_group C WHERE C.cou_gro_id=B.cou_gro_id AND C.cou_id=A.cou_id AND B.tea_id=#{teaId}")
    public List<CourseData> getCourseDataByteaId(String teaId);

    /**
     * 根据老师ID，或取老师加入的待审核课程组所对应的课程信息
     * @Author 彭鑫淼
     */
    @Select("SELECT A.cou_gro_id id,A.`name`FROM course_group A, `audit_join` B WHERE A.cou_gro_id=B.cou_gro_id AND B.tea_id=#{teacherId} AND B.result='1'")
    List<GroupInfo> getWaitCourseGroup(String teacherId);
}


